﻿using System;
using PhoneCore.Framework.Storage;
using SecureBox.UI.Infrastructure.Model;

namespace SecureBox.UI.Infrastructure.Data
{
    /// <summary>
    /// A gateway to data layer
    /// </summary>
    public interface IDataContextService: IDisposable
    {
        IRepository<Model.Template> Templates { get; }
        IRepository<Model.Record> Records { get; }
        IRepository<Model.Keyword> Keywords { get; }
        IRepository<Model.Property> Properties { get; }
        event EventHandler<EventArgs> OnChanged;
        void Delete();
        void Commit();
    }
}
